Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

proposal : better_craigslist #1

Merged
merged 15 commits into from
Oct 7, 2024
Merged

Conversation

YashBit
Copy link
Contributor

@YashBit YashBit commented Sep 15, 2024

Proposal for ZK Bankai

@johnsoncarl
Copy link
Collaborator

Unfortunately, I do not understand how does it contribute to Plonk3/Circom in an innovative or experimentation way.

One thing I can see is you mentioned writing ZkEmail circuits using Circom, but is it different from something which is already out there?

eg. https://github.com/zkemail already exists.

@YashBit
Copy link
Contributor Author

YashBit commented Sep 18, 2024

@johnsoncarl

Our implementation will stretch the capabilities of Plonky3 and Circom:

Our project aims to push the boundaries of Plonky3 and CIRCOM in practical, high-stakes applications. While we're building on existing ZKEmail concepts, we're innovating in several key areas:

a) We're developing specialized Plonky3 circuits optimized for high-throughput, low-latency email verification in a marketplace context. This will stress-test Plonky3's capabilities in ways not previously explored.
b) We're creating novel CIRCOM circuits for an anonymous reputation system, which is a new application in decentralized marketplaces.
c) Our project will provide valuable benchmarking data comparing Plonky3 and CIRCOM implementations in a real-world, high-stakes scenario.

Innovative aspects of ZKEmail circuits:

While ZKEmail circuits exist, our implementation differs in several important ways:

a) We're adapting these circuits for a new use case (secure marketplaces), which presents unique challenges and opportunities for optimization.
b) We're experimenting with Plonky3's advanced features like recursive proofs to enhance scalability and performance in our specific context.
c) We're developing a hybrid system that combines email verification with anonymous reputation tracking, which is a novel approach in this space.

@YashBit
Copy link
Contributor Author

YashBit commented Sep 18, 2024

@chiro-hiro

Would really appreciate your comments here as well.

@chiro-hiro
Copy link

@chiro-hiro

Would really appreciate your comments here as well.

Hi @YashBit,

I think your proposal is much more focus on application side and apply zkEmail to actual product in this case it's a C2C market (I hope I understand it correct). I'd prefer that you just focus on improving zkEmail or adding new feature into it then the proposal may fit to the program's requirement.

The idea is interesting but I have concern about data integrity and censorship.

Thanks,
Chiro

@YashBit
Copy link
Contributor Author

YashBit commented Sep 19, 2024

@chiro-hiro @johnsoncarl Updated.

@YashBit
Copy link
Contributor Author

YashBit commented Sep 28, 2024

@chiro-hiro Would deeply appreciate your comments on the updated proposal.

@chiro-hiro
Copy link

Gonna check now 🤗

@YashBit
Copy link
Contributor Author

YashBit commented Sep 28, 2024

@chiro-hiro Please can we connect on Telegram.

The primary goal is to extend zkEmail's functionality by implementing the following use cases:

- Enhanced data integrity verification for email attachments using Plonky3
- Experiment with following attachment formats: PDF, DOCX, PNG, JPEG

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think attachment can be treated as binary data and it isn't depend on file extension. The most hard part is proving the attachment is a part of email.

Why do we need to generate proof for every attachment instead of create a proof for the whole email if we don't receive any benefit from it?.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea is actually to have a circuit that decodes the attachment and then can perform some operation in it. For this we will start with the base case for PDF, and DOCX as we can then use zk-regex to prove that the attachment had some statement that we want to prove. It is something that is also pointed out on the repo as a Research Idea (Attachment Parsing Circuit) and this opens a lot of possibilities. Is also pointed out as having some performance bottlenecks so we want to try with plonky3 and do some research on how we can remove this performance issue

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The attachment is actually binary data on the email body, it is encoded into base64

This project aims to enhance zkEmail by developing new features and improvements using Plonky3, specifically tailored for decentralized systems with a focus on C2C marketplaces. We will expand zkEmail's capabilities to address data integrity, censorship resistance, and privacy, while pushing the boundaries of Plonky3's application in practical scenarios.

Core Idea:
The primary goal is to extend zkEmail's functionality by implementing the following use cases:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
The primary goal is to extend zkEmail's functionality by implementing the following use cases:
The primary goal is to extend zkEmail's functionality by implementing the following features:

- Chain the proofs to generate a final proof and verifier

- Privacy-preserving reputation systems based on email interactions using Plonky3's lookup arguments
- Gather interaction data (data in email interactions such as the number of emails sent/received, response times, content length, etc.).

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding to gather interaction data, we only able to gather it as long as we have access to the mail server, the proposal is missing the clarification for this in reputation feature.

Will reputation calculation algorithm be available publicly? If it available publicly how can we make sure adversaries won't able to trick the algorithm?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For the reputation system, we just removed it from the proposal as after some research we realised the work timeframe would be unrealistic for having it in this same proposal. Therefore, we chose to take it out and we intend to submit as a proposal in a later round, though we have the algorithm hashed out.
With this removed we can focus more on the usage of plonky3 to implement this new feature for it and also improve some of the circuits that are in circom.

@chiro-hiro
Copy link

chiro-hiro commented Sep 29, 2024

I've just added more comments, I'm prefer to have a section to provide more detail of your solution. Right now, everything is described in common term, so I think it is very difficult for mentors to evaluate feasibility of the project.

My Telegram is: chiro8x
Don't hesitate to reach me.

@YashBit
Copy link
Contributor Author

YashBit commented Oct 3, 2024

@chiro-hiro Made the required changes.

@amiabix
Copy link
Collaborator

amiabix commented Oct 7, 2024

Merging this PR For application review

@amiabix amiabix merged commit e08eda2 into zk-bankai:main Oct 7, 2024
@YashBit
Copy link
Contributor Author

YashBit commented Oct 10, 2024

@chiro-hiro Hi, I hope you liked all our answers. Thank you so much for putting in the energy to guide our team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants